import Vue from "vue";
// 创建vuex中的store
import Vuex from "vuex";
// 需要在创建Vuex之前use，不然会报错
Vue.use(Vuex)
// 创建actions-响应组件中的动作
const actions = {
    // 第一个参数是简化的store，后边的表示传递的参数
    addOdd(context, value) {
        if (context.state.sum % 2) {
            // 提交给mutations 一般函数名大写
            context.commit('ADD', value);
        }
    },
    addWait(context, value) {
        setTimeout(() => {
            context.commit('ADD', value);
        }, 500);
    }
};
// 创建mutation—操作state中的数据
const mutations = {
    ADD(state, value) {
        state.sum += value;
    },
    SUBTRACTION(state, value) {
        this.state.sum -= value;
    }
};
// 用于将state中数据进行加工
const getters = {
    bigSum(state) {
        return state.sum * 10;
    }
}
// 创建state-存储数据
const state = {
    sum: 0,
    school: '西北工业大学',
    subject: '数据可视化'
}

// 创建store
const store = new Vuex.Store({
    // 如果key和value重名可以简写，原有格式是actions:name
    actions,
    mutations,
    state,
    getters
});
export default store;